
package com.english.dao;

import java.util.List;

import com.english.dao.Dao;
import com.english.model.Type;

public interface TypeDao extends Dao {

    /**
     * Retrieves all of the types
     */
    public List getTypes(Type type);

    /**
     * Gets type's information based on primary key. An
     * ObjectRetrievalFailureException Runtime Exception is thrown if 
     * nothing is found.
     * 
     * @param id the type's id
     * @return type populated type object
     */
    public Type getType(final Long id);

    /**
     * Saves a type's information
     * @param type the object to be saved
     */    
    public void saveType(Type type);

    /**
     * Removes a type from the database by id
     * @param id the type's id
     */
    public void removeType(final Long id);
}

